#ifndef COMPONENTWIDGET_H
#define COMPONENTWIDGET_H

#include <QWidget>
#include "Component.h"  // 包含组件基类头文件

class ComponentWidget : public QWidget {
    Q_OBJECT  // Qt 元对象系统必备
public:
    explicit ComponentWidget(QWidget* parent = nullptr);
    ~ComponentWidget() override;

    // 关联后端组件（仅保留接口）
    void setComponent(Component* component);

protected:
    // 右键菜单事件（仅空实现）
    void contextMenuEvent(QContextMenuEvent* event) override;

    // 绘图事件（极简实现）
    void paintEvent(QPaintEvent* event) override;

private slots:
    // 修改参数的槽函数（仅空实现）
    void onModifyParams();

    // 接收参数更新的槽函数（仅空实现）
    void onParamUpdated(const ComponentParam& param);

private:
    Component* m_component = nullptr;  // 关联的后端组件
};

#endif // COMPONENTWIDGET_H
